{
  /*
    学习目标：泛型函数调用-省略类型
  */

  // 调用时，类型可以省略
  // 原理：TS内部会做参数类型推断，相当于在底层调用： typeof 参数
  const list = new Array('12');
  const list1 = new Array<string>('123');

  // 1. 推荐👍：调用省略<类型>，利于阅读，符合JS书写习惯。
  fn('123').startsWith('12');
  fn(123).toFixed(2);
  fn(true);

  type Article = {
    cover: {
      images?: string[];
    };
  };
  // 注意💥：什么时候不能省略？
  // 2. TS的类型推断不准确时,如
  // const result = fn({ cover: {} });
  const result = fn<Article>({ cover: {} });
  result.cover.images;

  function fn<T>(aaa: T): T {
    return aaa;
  }
}
